home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio / Ham Radio CD-ROM (Emerald Software) (1995).ISO / ant / antenna2 / dipole.bas < prev    next >
BASIC Source File  |  1986-09-08  |  2KB  |  75 lines

  1. 10 CLS:KEY OFF
  2. 20 KEY 1,"":KEY 10,""
  3. 30 PRINT"                  PATTERN PLOT OF A DIPOLE ANTENNA"
  4. 40 PRINT"                            OF ANY LENGTH"
  5. 50 '      MAY 29, 1986
  6. 60 '      AHMAD FAIZAL MOHD ZAIN
  7. 70 '       PATTERN P[LOT OF DIPOLE ANTENNA
  8. 80 '
  9. 90 DIM Y(360)
  10. 100 PI=3.141592
  11. 110 DEF FN F(X)=(COS((2*PI*L/2)*COS(X))-COS(2*PI*L/2))/SIN(X)
  12. 120 PRINT:PRINT:PRINT
  13. 130 INPUT"LENGTH (IN LAMBDA) ";L
  14. 140 PRINT L
  15. 150 GOTO 190
  16. 160 LOCATE 2,36:PRINT"LAMBDA =        ";
  17. 170 LOCATE 2,45:INPUT L
  18. 180 '
  19. 190 SCREEN 0,1
  20. 195 CLS:SCREEN 2,0:KEY OFF
  21. 205 LOCATE 25,1:PRINT"               F1 = Change Length            F10 = QUIT"
  22. 210 VIEW (126,23)-(516,185),,2
  23. 220 '
  24. 230 LOCATE 1,25:PRINT"RADIATION PATTERN OF DIPOLE FOR"
  25. 240 LOCATE 2,36:PRINT USING"LAMBDA = ##.###";L
  26. 250 '
  27. 260 YMAX=0
  28. 270 PSET (0,0)
  29. 280 FOR TH=0 TO 180
  30. 290   X=TH*PI/180
  31. 300   IF X=0 THEN 360
  32. 310   Y(TH)=ABS(FN F(X))
  33. 320   Y(360-TH)=Y(TH)
  34. 330   IF Y(TH)>YMAX THEN YMAX=Y(TH)
  35. 340   LOCATE 13,36:PRINT"PLEASE WAIT"
  36. 350   LOCATE 14,39:PRINT 180-TH
  37. 360 NEXT TH
  38. 370 '
  39. 380 WINDOW (-YMAX,-YMAX)-(YMAX,YMAX)
  40. 390 CLS
  41. 400 '
  42. 410 CIRCLE (0,0),YMAX,1
  43. 420 CIRCLE (0,0),.75*YMAX,1
  44. 430 CIRCLE (0,0),.5*YMAX,1
  45. 440 CIRCLE (0,0),.25*YMAX,1
  46. 450 '
  47. 460 LINE (-YMAX,0)-(YMAX,0),1
  48. 470 LINE (0,YMAX)-(0,-YMAX),1
  49. 480 LINE (-.707*YMAX,.707*YMAX)-(.707*YMAX,-.707*YMAX),1
  50. 490 LINE (-.707*YMAX,-.707*YMAX)-(.707*YMAX,.707*YMAX),1
  51. 500 '
  52. 510  PSET (Y(0),0)
  53. 520 FOR TH=0 TO 360
  54. 530   XX=TH*PI/180
  55. 540   Y=Y(TH)*COS(XX)
  56. 550   X=Y(TH)*SIN(XX)
  57. 560   LINE -(X,Y),2
  58. 570 NEXT TH
  59. 580 '
  60. 590 A$=INKEY$
  61. 600 IF LEN(A$)<>2 THEN 590
  62. 610 ANS=ASC(MID$(A$,2,1))
  63. 620 IF ANS=59 THEN 160
  64. 630 IF ANS=68 THEN 670
  65. 640 GOTO 590
  66. 650 IF ANS=84 THEN 670
  67. 660 GOTO 240
  68. 670 T$="DO YOU WANT TO RUN AGAIN (Y/N)?":LC=25:GOSUB 730
  69. 680 AN$=INKEY$
  70. 690 IF AN$="Y" OR AN$="y" THEN RUN
  71. 700 IF AN$="N" OR AN$="n" THEN END
  72. 710 GOTO 670
  73. 720 :
  74. 730 LOCATE LC,(40-LEN(T$))/2+1:PRINT T$;:RETURN    'SUBROUTINE TO CENTRE TEXT
  75.